package com.cy.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.cy.common.pojo.SysMenuList;
import com.cy.common.pojo.SysUserView;
import com.cy.sys.pojo.SysUser;

/**
 * 此类负责处理员工请求修改数据
 * @author private
 *
 */
@Mapper
public interface SysUserDao {
	
	/** 通过部门id查询部门下是否还有员工 */
	@Select("select count(*) from sys_users where deptId=#{deptId}")
	public int selectObjectsByDeptId(Integer deptId);
	
	/** 查询分页显示的用户管理数据 */
	public List<SysUserView> doFindPageObjects(String username);

	/** 修改指定用户状态 */
	public int updateValid(@Param("id") Integer id, @Param("valid")Integer valid,@Param("modifiedUser") String modifiedUser);

	/** 保存用户数据 */
	public int insertObject(SysUser sysUser);
	
	/** 修改用户数据 */
	public int updateObject(SysUser sysUser);

	/** 根据id查询用户信息进行回显 */
	public SysUserView selectObjectById(Integer id);
	
	/** 查询是否有此用户名用户 */
	@Select("select count(*) from sys_users where username=#{username}")
	public int selectUsernameCount(String username);
	
	/** 根据用户名查询指定角色信息 */
	@Select("select * from sys_users where username=#{username}")
	public SysUser fondUserByUserName(String username);

	/** 修改用户信息 */
	@Update("update sys_users set password=#{newPassword},salt=#{newSalt},modifiedUser=#{modifiedUser} where id=#{id}")
	public int updatePassword(@Param("newPassword")String newPassword, @Param("newSalt")String newSalt,
			@Param("id")Integer id,@Param("modifiedUser")String modifiedUser);
}
